package com.wx.chapter17.state_;

/**
 * @Author : 佩萁
 * Description :
 * @Create : 2023/8/18 - 11:34
 */
public class ThreadState_ {
    public static void main(String[] args) throws InterruptedException {
        T t = new T();
        System.out.println(t.getName() + " 状态" + t.getState());//得到最初的线程状态
        t.start();//启动线程
        while (Thread.State.TERMINATED != t.getState()) {//如果线程的状态不是终止状态，就进入循环，只有当线程for循环结束后才会进入终止状态
            System.out.println(t.getName() + " 状态" + t.getState());//进入可运行状态
            Thread.sleep(500);//调用了sleep方法，线程进入超时等待状态
        }
        System.out.println(t.getName() + " 状态" + t.getState());//跳出上面的循环，说明这个时候线程的状态已经为终止状态
    }
}

class T extends Thread {
    @Override
    public void run() {
            for (int i = 0; i < 10; i++) {
                System.out.println("hi " + i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
    }
}